package com.team11.server.mapper;

import com.team11.server.pojo.CFiles;
import com.team11.server.pojo.student.StudentHomework;
import com.team11.server.pojo.student.StudentHomeworkAnswer;
import com.team11.server.pojo.student.StudentHomeworkTask;
import com.team11.server.pojo.student.StudentTeacherReply;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author DuKang
 * @Date  2021/7/11 18:51
 * @Desc:
 * @Version: 1.0
 */
@Mapper
public interface StudentHomeworkMapper {
    /**
     * 获取学生作业表
     * @param sid 学生id
     * @param status 作业状态
     * @param hSetime 发布时间
     * @param kcName 项目名称
     * @param hTitle 作业主题
     * @param hType 作业类型
     * @param tName 实训老师
     * @param hStoptime 结束时间
     * @return 学生作业表
     */
    List<StudentHomework> getHomework(Integer sid, Integer status,String hSetime, String kcName,
                                       String hTitle, Integer hType, String tName, String hStoptime);

    /**
     * 根据作业id获取作业任务
     * @param hId 作业id
     * @return 作业任务
     */
    StudentHomeworkTask getHomeworkTask(Integer hId);

    /**
     * 获取老师批复
     * @param hId 作业id
     * @param sid 学生id
     * @return 老师批复
     */
    StudentTeacherReply getTeacherReply(Integer hId,Integer sid);

    /**
     * 更新学生答案
     * @param answer 学生答案
     * @param hTime 提交时间
     * @param cFId 附件id
     * @param sid 学生id
     * @param hId 作业id
     * @return 影响行数
     */
    Integer updateHomeworkAnswer(String answer,String hTime,Integer cFId,Integer sid,Integer hId);

    /**
     * 获取学生答案
     * @param sid 学生id
     * @param hId 作业id
     * @return 学生答案
     */
    StudentHomeworkAnswer getHomeworkAnswer(Integer sid,Integer hId);

    /**
     * 新增作业附件
     * @param cFiles 附件
     * @return 影响行数
     */
    Integer insertHomeworkFiles(CFiles cFiles);
    /**
     * 更新作业附件
     * @param cFiles 附件
     * @return 影响行数
     */
    Integer updateHomeworkFiles(CFiles cFiles);

    /**
     * 获取学生作业id
     * @param sid 学生id
     * @param hId 作业id
     * @return 学生作业id
     */
    Integer getHomeworkId(Integer sid,Integer hId);

    /**
     * 获取附件id
     * @param sid 学生id
     * @param hId 作业id
     * @return 附件id
     */
    Integer getCFId(Integer sid,Integer hId);
}
